package com.hoe.tsb.block;

import com.hoe.tsb.fraft.enums.MessageType;
import com.hoe.tsb.fraft.event.msg.IFRaftMessage;
import com.hoe.tsb.mmk.TraceMmk;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 区块
 * </p>
 *
 * @author hoe
 * @version 1.0
 * @date 2022/11/24 10:15
 */
@Data
public class Block implements Serializable, IFRaftMessage {

    private static final long serialVersionUID = 1L;

    /**
     * 区块的Hash
     */
    private String hash;

    /**
     * 前继区块的Hash
     */
    private String previousHash;

    /**
     * 块高
     */
    private long height;

    /**
     * 生成区块的TSB版本
     */
    private String version;

//    /**
//     * 区块的MerkleRoot
//     */
//    private String merkleRoot;

    /**
     * Merkle数据区
     */
    private TraceMmk mmk;

    @Override
    public MessageType getType() {
        return MessageType.BLOCK;
    }

}
